package com.adtech.adms.system.service;

import java.util.List;

import com.adtech.adms.commons.tree.TreeNode;
import com.adtech.adms.system.pojo.Feature;
import com.adtech.adms.system.pojo.Role;
import com.adtech.adms.system.pojo.User;
import com.adtech.core.dao.exp.Expression;
import com.adtech.core.dao.query.Pager;
import com.adtech.core.dao.query.Sort;
import com.adtech.core.exception.ServiceException;

/**
 * 角色service
 * 定义角色模块业务操作接口
 * @author Dormin 
 * @since 2011-8-11 
 * 
 * @Copyright (C) AD Tech Workshop All Right Reserved
 */
public interface RoleService {
	public List<Role> getRoleList(Pager pager);
	public  List<TreeNode<Object>>  getRoleTree();
	public List<Role> getRoleList(Pager pager, Expression expression,
			Sort sort);
	public void delete(String id,User user) throws ServiceException;
	public void save(Role role,User user) throws ServiceException;
	public Role getRoleById(Long roleId);
	public boolean check(Role role);
	public List<Feature> getFeaturesNotRole(Role role);
}
